#include <stdio.h>
int main(){
	int M,N,i,j;
	char temp,inputChar;
	
	scanf("%d %d",&M,&N); 
	int icc[M][N];
	
	//行 
	for(i=0;i<M;i++){
		//回车 
    	temp = getchar();
    	//列 
		for(j=0;j<N;j++){
			inputChar = getchar(); 
			//一次命中或者两次杀伤均可消灭蚊子。
			if(inputChar=='0') icc[i][j]=0;
			if(inputChar=='#') icc[i][j]=2;
		}
	}
	
	int count,x,y,Num;
	scanf("%d",&count);
	for(i=0;i<count;i++){
		
		//每一枪单独计数 
		Num = 0;
		scanf("%d %d",&x,&y);
		
		//一次命中
		if(icc[x][y]!=0){
			Num++;
			icc[x][y] = 0; 
		}
		 //上
		if(x-1 >= 0){
			if(icc[x - 1][y]!=0) {
				//生命值减1 
				icc[x -1][y] -=1; 
				//该蚊子死了  
				if(icc[x -1][y]==0)	Num++;
			}
		}
		//下方 
		if(x+1 < M){
			if(icc[x + 1][y] != 0) {
				icc[x + 1][y] -= 1; 
				if(icc[x + 1][y] == 0) Num++;
			}
		}
		//左边 
		if(y-1 >= 0){
			if(icc[x][y-1] != 0){
				icc[x][y-1] -= 1;  
				if(icc[x][y-1] == 0) Num++;
			}
		}
		//上 
		if(y+1<N){
			if(icc[x][y+1]!=0){
				icc[x][y+1] -=1; 
				if(icc[x][y+1]==0) Num++;
			}
		}
		printf("%d\n",Num); 
	} 
	return 0;	
}
